package service.impl;

import entity.*;
import net.chopinlite.*;
import service.IUserService;

import java.util.List;

public class UserServiceImpl extends BaseServiceImpl implements IUserService {
    private Dao<User> ud;

    public UserServiceImpl() {
        ud = Dao.make(User.class);
    }

    /*登录方法*/
    @Override
    public User login(String username, String password) {
        List<User> users = ud.findByCriteria(Cri.eq("username", username).and(Cri.eq("password", password)));

        if (users.isEmpty()) {
            //登录失败
            return null;
        } else {
            //登录成功
            return users.get(0);
        }
    }

    @Override
    public int regist(String username, String password, String password2) {
        //判断两次密码是否一致：
        if (password.equals(password2)) {
            //密码一致
            //判断用户名是否被占用
            List<User> users = ud.findByCriteria(Cri.eq("username", username));
            if (users.isEmpty()) {
                //未占用
                User newUser = new User();//创建新用户实体
                newUser.setUsername(username);
                newUser.setPassword(password);
                newUser.setRegTime(new SimpleDate());//注册时间为当前时刻
                ud.add(newUser);//添加到数据库

                //返回成功信息
//				return "注册成功！";
                return 0;
            } else {
                //已占用，注册失败，返回错误信息2
//				return "用户名已存在！";
                return 2;
            }
        } else {
            //密码不一致，注册失败，返回错误信息1
//			return "两次密码不一致！";
            return 1;
        }
    }

    //修改密码
    @Override
    public Boolean update(User user) {
        ud.edit(user);
        return true;
    }


}
